﻿using System;
using Fly.Data;
using FlyWebFrame.Model;

namespace FlyWebFrame.Action.admin
{
    public class editnewscat : baseaction
    {
        public int editcat_id;
        public dynamic view;
        public string name;
        public string viName;
        public string image;
        public int order;
        public int catid;
        public string err;
        public dynamic subcats;

        public override void Treat()
        {
            contentleft = "/html/admin/editnewscat.htm";
            page_title = "LEAD Consulting - Chỉnh sửa danh mục tin";
            admin_script = "$('#ad_cat').addClass('active');";
            
            Categories newscat = new Categories();
            Int32.TryParse(GetParameter(0), out editcat_id);
            newscat.id = editcat_id;

            if (newscat.Instance().Status)
            {
                catid = newscat.id;
                name = newscat.name;
                viName = newscat.viName;
                order = newscat.order;
                image = newscat.image;
                int parentId = newscat.parentId;
                int type = newscat.type;
                subcats = newscat.GetChild(newscat.id).Data;
                if (subcats == null || subcats.Length == 0)
                {
                    admin_script += "$('#subcats').addClass('hidden');";
                }
                if (parentId != 0)
                {
                    admin_script += "$('#admin_banner').addClass('hidden');";
                }
                if (type <= 1)
                {
                    admin_script += "$('#admin_addcat').addClass('hidden');";
                }
            }
            else
            {
                // looix
            }
            if (Form["submit"] == "true")
            {
                string err = "";
                if (!Int32.TryParse(Form["order"], out order))
                {
                    err += "Order phải là số nguyên";
                }
                if (Form["name"] == "" || Form["name"].Length > 100)
                {
                    err += "\\nTên danh mục (tiếng Anh) không được để trống hoặc dài hơn 100 ký tự";
                }
                if (Form["viName"] == "" || Form["viName"].Length > 100)
                {
                    err += "\\nTên danh mục (tiếng Việt) không được để trống hoặc dài hơn 100 ký tự";
                }
                Fly.Web.Resource.File upfile = new Fly.Web.Resource.File();
                if (upfile.Setup(File["Image"], "upload/newscat", Fly.Util.Text.Random(20)))
                {
                    while (upfile.IsExisted())
                    {
                        upfile.Setup(File["Image"], "upload/newscat", Fly.Util.Text.Random(20));
                    }
                    if (upfile.CheckExt(".jpg, .png, .gif, .bmp"))
                    {
                        if (upfile.Save())
                        {
                            Fly.Util.Resource.Image.Resize(upfile.FullPath, 312, 0);
                            if (newscat.Instance().Status)
                            {
                                Fly.Web.Resource.File oldimg = new Fly.Web.Resource.File();
                                oldimg.FullPath = newscat.image;
                                oldimg.Delete();
                            }
                        }
                        else
                        {
                            err += "<br />Upload ảnh không thành công.";
                        }
                    }
                    else
                    {
                        err += "<br />File bạn chọn không phải ảnh.";
                    }
                }
                if (err != "")
                {
                    admin_script += "$('#err-newsadd').removeClass('hidden');$('#err-newsadd').html('" + err + "');";
                }
                if (err == "")
                {
                    newscat.id = editcat_id;
                    newscat.name = Form["name"];
                    newscat.viName = Form["viName"];
                    Int32.TryParse(Form["order"], out order);
                    newscat.order = order;
                    newscat.image = upfile.FullPath;
                    newscat.Edit();
                    Redirect("/admin/newscatlist");
                    Refresh();
                }
                else
                {
                    admin_script += "$('#err-newsadd').removeClass('hidden');$('#err-newsadd').html('Dữ liệu bạn nhập không hợp lệ');";
                }
            }
        }
    }
}